This invention relates generally to medical imaging systems, and more particularly, to methods and systems for performing image reconstruction in a Magnetic Resonance Imaging (MRI) system.
With an increase in image resolution and complexity in three-dimensional (3D) imaging in Medical Resonance Imaging (MRI), large volumes of MRI data are generated while performing MRI scans. During image construction, the MRI data is typically processed by performing a Fast Fourier Transform (FFT). The FFT is used for backprojecting the MRI data. This, FFT process is often the most time consuming process in the image reconstruction.
The FFT is performed by computing machines or processors that usually operate using a hierarchical architecture for storing data. The MRI data in these computing machines may be stored at four different levels, namely in a hard disk, a Random Access Memory (RAM), a cache memory, and a plurality of registers. With respect to the four levels, the hard disk can store the maximum volume of data and the register can store the minimum. However, the rate at which the data can be accessed for performing image reconstruction is maximum for the register and minimum for the hard disk. As a result, MRI data is stored in the RAM, and for efficiently performing image reconstruction, a part of the MRI data is transferred to the cache memory.
In the RAM, the 3D MRI image data is stored linearly. Thus, only one of three dimensions of the stored image data is contiguous in the RAM, and the other two dimensions are spaced apart across the RAM. As a result of this linear storage, the access of data (while performing a FFT) along the dimension for which the data is contiguous is efficient. The access of data along the other two dimensions is less efficient as this data is stored in different non-contiguous locations in the RAM. As a result, when the cache memory sends a request to RAM to access data along these two dimensions, a significant amount of time may be required to identify and locate the data along these two dimensions. In addition, due to the spaced apart storage of data along these two dimensions, cache misses may occur while accessing this data.